1. Field of the Invention
The present invention generally relates to image generation hardware, particularly including printers and most particularly including non-impact printers. The present invention is concerned with the use of a particular new form of encoded information--transition-encoded font image information--in the generation of a font image, and more particularly in the generation of superimposed font images. The manner by which this new information is generated will be explained somewhat simplistically in the present specification. A more sophisticated teaching of the preferred manner of the generation of this transition-encoded font image information is particularly taught in the aforementioned companion patent application Ser. No. 07/096,961. However, for purposes of understanding the present invention it is only necessary to simplistically understand the nature of transition-encoded information in order that it may be further understood how such information is used in the generation of images, and in the generation of superimposed font images.
2. Description of the Prior Art
An image generator is a device which receives information, nominally in ASCII form, from a computer, a computer terminal, or other such device. The image generator interprets such information in order to effect a pixel by pixel monochrome or color control of a marking device. For example, an image generator may be within a printer. For example, the pixel by pixel monochrome control may be effected by an on/off control of a raster-scanned marking device such as a laser light beam.
During the course of image generation, the image generator, nominally a printer, needs to, and will, transform, or "decompress", certain high-level encoding, such as the ASCII encoding, representing the characters and the character fonts to be imaged (printed), into the more detailed notational encodings which represent the actual font images of each character to be printed. The actual font image information may be represented by bit map (raster scan) data, run length encoded raster scan data, or by outline format (similar to pen plotter format) data. These detailed encodings are the information which is actually used, in real time, to control the marking device of the image generator. For example, a certain single ASCII encoding always represents an "a". The image generator will transform this ASCII "a" into an image represented in a certain font; for example, a block "a" or an italic "a" or an inverse color "a" or literally thousands of particular ways of generating the font image of an "a" (all of which font images are recognizable to the human brain as an "a"). Each of these different images, although all are "a", has an associated detail encoding, unique from all other detail encodings.
A commonly used prior art form of such detailed encodings is bit-map encoding. A grid matrix of the image area is created. Within this grid area the presence, or absence, of a marking at each intersection of the grid in a formation of an image of a particular character of a particular font is represented by the presence, or absence, of a binary bit within a data store, or map, for that particular character and font.
The transformation, or decompression, of information encondings involved in bit-mapped image generation normally transpires as follows. When the device controlling an image generation inputs a character, for example, the ASCII encoded letter "a", then the image generator determines from internally stored information what some particular certain image of an "a" looks like in some particular font. Usually there is a pixel map stored in the image generator memory which "maps out" those pixels for which the marking device will be caused to be "on" and those for which it will be caused to be "off" during the generation of a particular font image for a particular character, thereby generating the desired white and black image of the character. The user normally additionally specifies a font type, font size, and various other information in order to select amongst many alternative ways of representing the same character, for example the small letter "a" as printed in many fonts (Roman, Italic, etc.) at many sizes, slants, boldness levels, etc.
Depending on the resolution, a substantial amount of memory space can be tied up in the bit mapped specification of each font. For example, if the resolution of 300.times.300 dots (or pixels) per inch (dpi), then a 12 point character (1/6" high) requires 1500 bits (30.times.50) of information. If the resolution is 1200.times.1200 dpi, then 24K bits of information are required. For one complete font alphabet of 128 characters, over 3 Megabits of information are required for the bit-mapped image representations of these 128 characters. Typically it is desired to have many fonts available simultaneously. The present industry trend is towards higher resolution and more fonts. This often results in memory requirements which are difficult, if not totally impractical. Some prior art image generation systems use hard discs for bit-mapped font image information storage. However, these systems run slower than certain prior art systems which store bit-mapped font image information in semiconductor random access memory (RAM) because of the longer access time of disk memory as compared to semiconductor RAM.
It is also known in the prior art to store font image information either in Programmable Read Only Memory (PROM), or on a disk, in a compressed mode. However, this compressed font image information is always fully "blown up" into full bit-mapped data in RAM. This bit-mapped information means that one bit of storage is required for each pixel of information on the page. In some image generators, the page to be printed is assembled on a pixel by pixel basis before it is printed. This is referred to as a "full bit map" system. It is quite flexible but the cost is high.
A second problem with bit-mapped image generation systems occurs because of the trend towards higher densities and more fonts. It is currently desired to place characters at any position within an image area (on the page)--including in overlapped positions--without regard to where any other character might be placed. One way of doing this is to have a very fast and very capable microprocessor system place the information for each character in a large RAM. However, this adversely takes a lot of processing time while the printer engine sits idle and while the programmer sits impatiently as this information is being assembled.
The present invention is particularly concerned with the use of a new form of "transition-encoded" information in image generation, and more particularly in the generation of superimposed images. The related patent application s/n 07/096,961 shows that the new form "transition-encoded" information is derived by transforming, in and by a new process called "decompression", certain conventional run-length-encoded font image information. Both the run-length-encoded information which is "decompressed", and the "transition-encoded" information into which it is "decompressed", represent the images of characters and of character fonts which are generatable by an image generator. The reason that this transformation, or "decompression", which is the subject of the related invention is performed is because run-length-encoded information is not directly usable to control the marker of an image generator. However, the new form transitionencoded font information into which the run-length-encoded information is efficiently transformed will be shown by this disclosure to be highly effective for controlling a marker, in real time, to actually generate images and particularly superimposed images of character fonts.
As background particularly pertinent to the present invention, it should be recognized that there is nothing intrinsic about transition-encoded font image information which makes that it should not be thought to be generally susceptible of combination. It appears from the nature of transition-encoded information that the separate data representing a one font image should be combineable with other separate data representing a second font image in order to produce composite data, equal in bit length to either the first or the second font image data, which represents the superimposed font images. It is generally conceivable that an image generator should combine the transition-encoded image data of all images which are to be generated in full or partial superposition prior to generating, at a single time and in one only imagegenerating operation, the totality of the image(s) to be generated.
However, a special problem, addressed by the present invention, presents itself upon any attempted symplistic combination, such as by a logic ORing, of separate transition-encoded font image data records. Mainly, each transition-encoded data record records all pixel points during the generation of the associated font image whereat the image-generating marker transitions from black to white, or from white to black. If two transition-encoded font image data records being combined have, by happenstance, a same transition at a same pixel then the record of one transition will be lost if the combined information is to simplistically show one only transition at that pixel. A more sophisticated approach to the combination of transition-encoded data for the generation of superimposed font images is required. The present invention particularly deals with such a sophisticated method and apparatus for combining transition-encoded font image data so that no transitions are lost, and so that all transitions within the separate images are preserved, in generation of the combined, superimposed, image.